Many systems utilize secure communication channels to prevent an eavesdropper from gaining information contained in a communication between two users on that channel. The communication protocols used to secure such channels often depend on each party being able to generate a long random number. For example, a cryptographic protocol might call, in one of its steps, for a participating device to generate a string S of n random bits, where n is a pre-specified positive integer. The string S is to be kept secret to outside access. To maximize cryptographic strength, it is typically required that the n bits generated in such a step be essentially unpredictable by any third party not given legitimate access to S by the protocol. Namely, such third party would essentially have to exhaustively search, on the average, through 2n-1 binary strings before correctly “guessing” S.
While there are pseudo random number generation algorithms that can be executed on a computer to generate a string of seemingly random numbers, these algorithms generate a predetermined sequence of numbers that is determined by a “seed” number. A party observing the seed would be able to predict the numbers to be generated. In fact, a portion of this sequence itself should be sufficient to guess the next numbers; computational difficulty is all that prevents this from occurring in a practical system.
Random number generators that utilize some environmental measurement to reduce the predictability of the sequence of random numbers are also known to the art. For example, pulses in a noise signal generated from a large resistor can be counted in a counter to provide a random number generator. However, these systems also have correlations that can be exploited to reduce the search list. In addition, these systems can be subjected to physical conditions that increase the correlations in question. For example, the resistive element can be cooled, thereby reducing the number of random pulses generated during each time interval.
Broadly, it is the object of the present invention to provide an improved random sequence generator.
These and other objects of the present invention will become apparent to those skilled in the art from the following detailed description of the invention and the accompanying drawing.